Plot

In this graph, create random variables by class and configure a linear regression for each group

library(ggplot2)
library(plotly)
data <- data.frame(class = c(rep("Group1",50),rep("Group2",50),rep("Group3",50)),
                   x = runif(150,0,10),
                   y = c(rnorm(50,0,1),rnorm(50,1,2),rnorm(50,2,3)))

fit <- lm(y ~ x + x*class, data = data) %>% fitted.values()

data %>%
        plot_ly(x = ~x, y = ~y, type = "scatter", mode = "markers", color = ~class) %>%
        add_trace(x = ~x, y = ~fit, mode = "lines")